package freedom.solution.app.prueba;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Vibrator;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import freedom.solution.app.restaurante.datatypes.*;
import freedom.soluttion.app.restaurante.R;


public class LoginActivity  extends Activity {

	private Button boton;
	private EditText txtUsuario, txtPassword;
	DBclass dbusuarios;
	ProgressDialog pDialog;
	String Usuario;
	String Contrasena;
	String codVendedor="";
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        setContentView(R.layout.main);
        dbusuarios= new DBclass(getApplicationContext());
        txtUsuario=(EditText)findViewById(R.id.txt_usuario);
        txtPassword=(EditText)findViewById(R.id.txt_password);
        boton=(Button)findViewById(R.id.btningresar);
        
        
        boton.setOnClickListener(new View.OnClickListener() {
			
		
			public void onClick(View v) {
				
				
				 Usuario = txtUsuario.getText().toString().trim();
                 
                 Contrasena = txtPassword.getText().toString().trim();
             
         		
         		//verificamos si estan en blanco
         		if( checklogindata(Usuario , Contrasena )==true){

         			//si pasamos esa validacion ejecutamos el asynctask pasando el usuario y clave como parametros
         			new asynclogin().execute(Usuario,Contrasena);        		               
         			      		
         		
         		}else{
         			//si detecto un error en la primera validacion vibrar y mostrar un Toast con un mensaje de error.
         			err_login();
         		}
				
			
			}
		});
        
        
    }
    
    public boolean loginstatus(String username ,String password ) {
    	boolean p=false;
    	DBclass dbhelper=new DBclass(getApplicationContext());
		dbhelper.getReadableDatabase();
		
    	if(dbhelper.getUsuarios(Usuario, Contrasena).size()>0){
    		p=true;
    	}
    	dbhelper.close();
    	return p;
    }
    
    public void err_login(){
    	Vibrator vibrator =(Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
	    vibrator.vibrate(200);
	    Toast toast1 = Toast.makeText(getApplicationContext(),"Error:Nombre de usuario o password incorrectos", Toast.LENGTH_SHORT);
 	    toast1.show();    	
    }
    
    
    //validamos si no hay ningun campo en blanco
    public boolean checklogindata(String username ,String password ){
    	
    if 	(username.equals("") || password.equals("")){
    	Log.e("Login ui", "checklogindata user or pass error");
    return false;
    
    }else{
    	
    	return true;
    }
    }
    
    class asynclogin extends AsyncTask< String, String, String > {
      	 
    	String user,pass;
        protected void onPreExecute() {
        	//para el progress dialog
            pDialog = new ProgressDialog(LoginActivity.this);
            pDialog.setMessage("Autenticando....");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }
 
		protected String doInBackground(String... params) {
			//obtnemos usr y pass
			user=params[0];
			pass=params[1];
            
			//enviamos y recibimos y analizamos los datos en segundo plano.
    		if (loginstatus(user,pass)==true){    		    		
    			return "ok"; //login valido
    		}else{    		
    			return "err"; //login invalido     	          	  
    		}
        	
		}
       
		/*Una vez terminado doInBackground segun lo que halla ocurrido 
		pasamos a la sig. activity
		o mostramos error*/
        protected void onPostExecute(String result) {

           pDialog.dismiss();//ocultamos progess dialog.
           Log.e("onPostExecute=",""+result);
           
           if (result.equals("ok")){
        	   
        
				Intent i=new Intent(getApplicationContext(), MenuPrincipalActivity2.class);
				i.putExtra("codven",codVendedor);
				
				startActivity(i); }
        	  
		else{
            	err_login();
            }
            
               }
		
        }

    
}